Many computers, televisions, and other equipment use on screen displays (OSDs) to display and adjust parameters related to the equipment. For example, OSDs may visually represent the level of volume, contrast, brightness, vertical position, horizontal position, and the like. While the user is adjusting the parameter, the OSD provides visual feedback to the user relating to the adjustment they are performing.
One common method of visual feedback employed in OSDs is to generate an indicator to show a parameter's level. An indicator typically shows the range of adjustment the parameter may be adjusted within as well as the current value of the parameter. For example, an indicator may be used to display a vertical position parameter for a screen.
A common technique for displaying a bar indicator within an OSD is to display characters on a display of the equipment. Such an OSD system is referred to as a character based system. In such an OSD system, several characters are typically used to represent portions of the OSD. For example, some characters are used to represent a background for the OSD and several other characters are used to represent the indicator. One such prior art system is illustrated in FIG. 1.
FIG. 1 shows a prior art vertical indicator system. As shown in the figure, vertical indicator system 100 includes indicator arrow 120, vertical bar 130, and background 140. Icons I1–I10 illustrate different positions of indicator arrow 120 within a character. Characters 150–180 show vertical arrow system 100 divided into four different characters.
Character 150 shows a blank background character. Character 160 shows indicator arrow at a top position of the character. Characters 170 and 180 show characters representing vertical bar 130.
According to vertical arrow system 100, each character (I1–I10) represents a different location for the indicator arrow within a character. When the user steps through a sequence adjusting a parameter, indicator arrow 120 appears to move up or down in response to the change in sequence number. Character I1 shows indicator arrow 120 at the top of a character, while character I10 shows indicator arrow 120 at the bottom of a character.
Typically, the parameter value for the indicator arrow ranges between a minimum value and a maximum value. For example, the range may be between zero (0) and ten (10). As the user adjusts the parameter, the icon arrow appears to increment up or down from 1 to 10 providing feedback to the user. In order to achieve this effect, the microcontroller determines where the indicator arrow should be placed and selects the appropriate character. For example, the microcontroller selects from icons I1–I10 to achieve this effect. In practice, to facilitate this, the microcontroller runs a firmware routine that takes the sequence value, and maps the value to a particular icon character using a lookup table. This character is then written to the OSD page RAM.
This manipulation requires significant computation on the part of the low power microcontroller. Consequently, the firmware to provide this feature is quite large, takes up significant ROM space, and uses significant computation power.